Migrate the BrownianTree to BrownianInterval in DPM solver #9335
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Dealing with #8728
In the original issue, I observed that using
BrownianIntervalcould provide a slight speedup in the diffusion loop. However, the performance gain was primarily due to not settinghalfway_tree=Truein the arguments, which caused the results to differ from the original implementation.To maintain deterministic results before and after using
BrownianInterval, it’s not feasible to accelerate the implementation in this way. Nonetheless, I still believe it’s worthwhile to migrate fromBrownianTreetoBrownianIntervalsinceBrownianTreeis noted as a legacy class in the torchsde documentation.Test Settings
I test the numeric and image output using following script on an A100 GPU device with OS
20.04.1-UbuntuTest Output
Using BrownianTree

Using BrownianInterval

SHA result
Before submitting
torchsde.BrownianIntervalinstead oftorchsde.BrownianTreein classBatchedBrownianTree#8728documentation guidelines, and
here are tips on formatting docstrings.
Who can review?
@yiyixuxu